package po

import (
	"algo-sdk-go/project/matchmaking/common/constant"
)

// 用户择偶条件实体
type MatePreference struct {
	Id        string `json:"id"      bson:"_id"`
	UserNum   int    `json:"userNum" bson:"user_num"` // 用户编号
	Standards string `json:"standards" bson:"standards"`

	MinHeight    int                `json:"minHeight"    bson:"min_height"`    // 身高要求： 最低身高
	MaxHeight    int                `json:"maxHeight"    bson:"max_height"`    // 身高
	MinWeight    int                `json:"minWeight"    bson:"min_weight"`    // 体重
	MaxWeight    int                `json:"maxWeight"    bson:"max_weight"`    // 体重要求： 最高体重，单位cm
	MinAge       int                `json:"minAge"       bson:"min_age"`       // 年龄
	MaxAge       int                `json:"maxAge"       bson:"max_age"`       // 年龄要求： 年龄范围
	MinIncome    float64            `json:"minIncome"    bson:"min_income"`    // 收入要求： 最低收入，单位万元
	MaxIncome    float64            `json:"maxIncome"    bson:"max_income"`    // 收入
	MinEducation constant.Education `json:"minEducation" bson:"min_education"` // 学历要求： 最低学历
	MaxEducation constant.Education `json:"maxEducation" bson:"max_education"` // 学历

	OccupationPreference       []constant.Occupation `json:"occupationRequire" bson:"occupation_require"`                // 职业要求
	HometownPreference         []string              `json:"hometownRequired"  bson:"hometown_required"`                 // 籍贯要求
	CurrentResidencePreference []string              `json:"currentResidenceRequired" bson:"current_residence_required"` // 工作地要求
	PersonalityTraits          []string              `json:"personalityTraits" bson:"personality_traits"`                // 个性特征
	OtherRequired              []string              `json:"otherRequired"     bson:"other_required"`                    // 其他特征

	Status     string `json:"status"        bson:"status"`      // 枚举值：正常；下线
	IsDeleted  bool   `json:"isDeleted"     bson:"is_deleted"`  // 软删除 0:未删除； 1:删除
	CreateUser string `json:"createUser"    bson:"create_user"` // 创建者
	CreateTime string `json:"createTime"    bson:"create_time"` // 创建时间
	ModifyUser string `json:"modifyUser"    bson:"modify_user"` // 修改者
	UpdateTime string `json:"updateTime"    bson:"update_time"` // 修改时间
}
